#include<bits/stdc++.h>

using namespace std;


//int main()
//{
//	vector<int>num(10);
//	for(int i=0;i<10;i++)
//	{
//		num[i]=i;
//	}
//	num.push_back(10);
//	num.push_back(10);
//	num.push_back(12);
//	num.push_back(12);
//	num.push_back(12);
//	num.push_back(12);
//	num.push_back(16);
//	num.push_back(17);
//	num.push_back(18);
//	num.push_back(19);
//	
//	sort(num.begin(),num.end(),equal_to<int>());
//	
//	for(int i=0;i<num.size();i++)
//	{
//		cout<<num[i]<<" ";
//	}
//	cout<<endl;
////	cout<<num.front()<<endl;
////	cout<<num.back()<<endl;
//	return 0;
//}




//stack
//int main()
//{
//	stack<int>sta;
//	sta.push(1);
//	sta.push(2);
//	sta.push(3);
//	sta.push(4);
//	sta.push(5);
//	cout<<sta.size()<<endl;
//	cout<<sta.end()<<endl;
//	for(int i=0;i<j;i++)
//	{
//		cout<<sta.top()<<"  ";
//		sta.pop();
//	}
//	cout<<endl<<sta.size();
//	
//	return 0;
// } 




//queue
//int main()
//{
//	queue<int>q;
//	q.push(1);
//	q.push(2);
//	q.push(3);
//	q.push(4);
//	q.push(5);
//	cout<<q.size()<<endl;
//	cout<<q.front()<<endl;
//	cout<<q.back()<<endl;
//	q.pop();
//	q.pop();
//	cout<<q.size()<<endl;
//	cout<<q.empty()<<endl;
//	return 0;
//}




//dequeue
//int main()
//{
//	deque<int>q;
//	q.push_front(1);
//	q.push_front(2);
//	q.push_front(3);
//	q.push_front(4);
//	q.push_front(5);
//	cout<<q.size()<<endl;
//	for(int i=0;i<5;i++)
//	{
//		cout<<q[i]<<"  ";
//		
//	}
//	cout<<endl<<q.front();
//	cout<<endl<<q.back()<<endl;
//	sort(q.begin(),q.end(),greater<int>());
//	for(int i=0;i<5;i++)
//	{
//		cout<<q[i]<<"  ";
//		
//	}
//	return 0;
//}


//string
//int main()
//{
//	string str;
//	getline(cin,str);
////	sort(str.begin(),str.end());
////	cout<<str<<endl;
////	str.append("EFGH");
////	str.insert(str.begin(),'Z');
////	cout<<str<<endl;
////	str.replace(str.begin(),str.end(),"ABCD");
////	str.push_back('E');
////	cout<<str<<endl;
////	cout<<str.length();
//	for(int i=0;i<str.length();i++)
//	{
//		str[i]=tolower(str[i]);
//	}
//	cout<<str<<endl;
//	return 0;
//}





//sort

//struct P
//{
//	int a;
//	int b;
//};
//bool cmp(struct P a,struct P b)
//{
//	if(a.a!=b.a)
//	return a.a>b.a;
//	else
//	return a.b>b.b;
//}
//
//int main()
//{
//	vector<struct P>pstruct;
//	struct P p1={1,2};
//	pstruct.push_back(p1);
//	struct P p2={1,3};
//	pstruct.push_back(p2);
//	struct P p3={2,3};
//	pstruct.push_back(p3);
//	for(int i=0;i<pstruct.size();i++)
//	{
//		cout<<pstruct[i].a<<"  "<<pstruct[i].b<<endl;
//	}
//	sort(pstruct.begin(),pstruct.end(),cmp);
//	for(int i=0;i<pstruct.size();i++)
//	{
//		cout<<pstruct[i].a<<"  "<<pstruct[i].b<<endl;
//	}
//	return 0;
// } 
//
//
//


int main()
{
	string str="ABC";
	vector<int>arr(10);
	for(int i=0;i<10;i++)
	{
		arr[i]=i;
	}
	sort(str.begin(),str.end());
	do{
		cout<<str<<endl;
	}while(next_permutation(str.begin(),str.end()));
	
	cout<<max_element(arr.begin(),arr.end())<<endl;
	cout<<min_element(arr.begin(),arr.end())<<endl;
	return 0;
}









